package org.hbgl.geoentity.db.vo;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;

@JsonInclude(JsonInclude.Include.NON_EMPTY)
public class BusinessLicenseOCR {
    /**
     * 老版本营业执照对应注册号
     * 新三证合一版本营业执照对应社会保障号
     */
    @JsonProperty("registration_number")
    private String registrationNumber;
    /**
     * 企业名称
     */
    @JsonProperty("name")
    private String name;
    /**
     * 公司/企业类型/主体类型
     */
    @JsonProperty("type")
    private String type;
    /**
     * 住所/营业场所/企业住所
     */
    @JsonProperty("address")
    private String address;
    /**
     * 法定代表人/负责人
     */
    @JsonProperty("legal_representative")
    private String legalRepresentative;
    /**
     * 注册资本
     */
    @JsonProperty("registered_capital")
    private String registeredCapital;
    /**
     * 成立日期
     */
    @JsonProperty("found_date")
    private String foundDate;
    /**
     * 营业期限
     */
    @JsonProperty("business_term")
    private String businessTerm;
    /**
     * 经营范围
     */
    @JsonProperty("business_scope")
    private String businessScope;
    /**
     * 发照日期
     */
    @JsonProperty("issue_date")
    private String issueDate;
    /**
     * 字段的置信度，取值范围0~1
     * 置信度越大，表示识别的字段的可靠性越高，在统计意义上，置信度越大，准确率越高。
     * 置信度由算法给出，不直接等价于字段的准确率。
     */
    @JsonProperty("confidence")
    private ConfidenceDTO confidence;

    public String getRegistrationNumber() {
        return registrationNumber;
    }

    public void setRegistrationNumber(String registrationNumber) {
        this.registrationNumber = registrationNumber;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getLegalRepresentative() {
        return legalRepresentative;
    }

    public void setLegalRepresentative(String legalRepresentative) {
        this.legalRepresentative = legalRepresentative;
    }

    public String getRegisteredCapital() {
        return registeredCapital;
    }

    public void setRegisteredCapital(String registeredCapital) {
        this.registeredCapital = registeredCapital;
    }

    public String getFoundDate() {
        return foundDate;
    }

    public void setFoundDate(String foundDate) {
        this.foundDate = foundDate;
    }

    public String getBusinessTerm() {
        return businessTerm;
    }

    public void setBusinessTerm(String businessTerm) {
        this.businessTerm = businessTerm;
    }

    public String getBusinessScope() {
        return businessScope;
    }

    public void setBusinessScope(String businessScope) {
        this.businessScope = businessScope;
    }

    public String getIssueDate() {
        return issueDate;
    }

    public void setIssueDate(String issueDate) {
        this.issueDate = issueDate;
    }

    public ConfidenceDTO getConfidence() {
        return confidence;
    }

    public void setConfidence(ConfidenceDTO confidence) {
        this.confidence = confidence;
    }

    public static class ConfidenceDTO {
        @JsonProperty("registration_number")
        private Double registrationNumber;
        @JsonProperty("name")
        private Double name;
        @JsonProperty("type")
        private Double type;
        @JsonProperty("address")
        private Double address;
        @JsonProperty("legal_representative")
        private Double legalRepresentative;
        @JsonProperty("registered_capital")
        private Double registeredCapital;
        @JsonProperty("found_date")
        private Double foundDate;
        @JsonProperty("business_term")
        private Double businessTerm;
        @JsonProperty("business_scope")
        private Double businessScope;
        @JsonProperty("issue_date")
        private Double issueDate;

        public Double getRegistrationNumber() {
            return registrationNumber;
        }

        public void setRegistrationNumber(Double registrationNumber) {
            this.registrationNumber = registrationNumber;
        }

        public Double getName() {
            return name;
        }

        public void setName(Double name) {
            this.name = name;
        }

        public Double getType() {
            return type;
        }

        public void setType(Double type) {
            this.type = type;
        }

        public Double getAddress() {
            return address;
        }

        public void setAddress(Double address) {
            this.address = address;
        }

        public Double getLegalRepresentative() {
            return legalRepresentative;
        }

        public void setLegalRepresentative(Double legalRepresentative) {
            this.legalRepresentative = legalRepresentative;
        }

        public Double getRegisteredCapital() {
            return registeredCapital;
        }

        public void setRegisteredCapital(Double registeredCapital) {
            this.registeredCapital = registeredCapital;
        }

        public Double getFoundDate() {
            return foundDate;
        }

        public void setFoundDate(Double foundDate) {
            this.foundDate = foundDate;
        }

        public Double getBusinessTerm() {
            return businessTerm;
        }

        public void setBusinessTerm(Double businessTerm) {
            this.businessTerm = businessTerm;
        }

        public Double getBusinessScope() {
            return businessScope;
        }

        public void setBusinessScope(Double businessScope) {
            this.businessScope = businessScope;
        }

        public Double getIssueDate() {
            return issueDate;
        }

        public void setIssueDate(Double issueDate) {
            this.issueDate = issueDate;
        }
    }
}
